Enhanced Modulo Scheduling for Loops with Conditional

نویسندگان

  • Nancy J. Warter
  • Grant E. Haab
  • John W. Bockhaus
  • Krishna Subramanian
چکیده

Loops with conditional branches have multiple execution paths which are diicult to software pipeline. The mod-ulo scheduling technique for software pipelining addresses this problem by converting loops with conditional branches into straight-line code before scheduling. In this paper we present an Enhanced Modulo Scheduling (EMS) technique that can achieve a lower minimum Initiation Interval than modulo scheduling techniques that rely on either Hierarchical Reduction or If-conversion with Predicated Execution. These three modulo scheduling techniques have been implemented in a prototype compiler. We show that for existing architectures which support one branch per cycle, EMS performs approximately 18% better than Hierarchical Reduction. We also show that If-conversion with Predicated Execution outperforms EMS assuming one branch per cycle. However, with hardware support for multiple branches per cycle, EMS should perform as well as or better than If-conversion with Predicated Execution.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Software Pipeliner: Parallelization of Loops

Software pipelining, as an important parallel technique for loop structure, exploits the parallelism present among the iterations of a loop by overlapping the execution of successive iterations. This paper presents a practical and usable algorithm, Overlapping Modulo Scheduling(OMS), which is capable of modulo scheduling loops subjected to recurrence dependences and resource constraints for rea...

متن کامل

On Predicated Execution

Predicated execution as required in Modulo Scheduling technique for parallelizing innermost loops with conditional statements is examined. We obtain an improved semantics for predicate operations together with an optimal and efficient algorithm for their use.

متن کامل

The Beneet of Predicated Execution for Software Pipelining

Software pipelining is a compile-time scheduling technique that overlaps successive loop iterations to expose operation-level parallelism. An important problem with the development of eeective software pipelin-ing algorithms is how to handle loops with conditional branches. Conditional branches increase the complexity and decrease the eeectiveness of software pipelin-ing algorithms by introduci...

متن کامل

The Bene t of Predicated Execution for Software Pipelining

Software pipelining is a compile-time scheduling technique that overlaps successive loop iterations to expose operation-level parallelism. An important problem with the development of e ective software pipelining algorithms is how to handle loops with conditional branches. Conditional branches increase the complexity and decrease the e ectiveness of software pipelining algorithms by introducing...

متن کامل

Modulo Scheduling with Isomorphic Control Transformations

This dissertation addresses the complexities involved with scheduling in the presence of conditional branches. This is a particularly important problem for processors that execute multiple operations per cycle and are not fully utilized by local scheduling techniques. Since conditional branches introduce multiple execution paths, it is diicult for a global scheduler to keep track of the various...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1992